202404.FAGnet:使用图神经网络进行基于家庭感知的 Android 恶意软件分析 Family-aware-based android malware analysis using graph neural network

曾开发的论文
zotero链接:zotero-open-pdf
pdf链接:FAGnet_2024_Wang et al
obsidian链接

FAGnet的simpletex扫描pdf转latex: ConvertedMD

FAGnet: Family-aware-based android malware analysis using graph neural network

FAGnet:使用图神经网络进行基于家庭感知的 Android 恶意软件分析

摘要

Android恶意软件家族分析对于构建高效的恶意软件检测机制至关重要。近年来,人们提出了许多基于图表示学习的恶意软件检测和分类研究,许多方法将恶意软件建模为图数据来挖掘恶意软件的行为语义。但是,它们没有考虑样本(图)层面的关系,同属一个家族的恶意软件具有相似的恶意行为。根据数据处理不等式(DataProcessingInequality,DPI)对样本进行变换会导致相互信息传输的丧失,这启发了我们从这个角度考虑基于图表示学习的恶意软件分析。在本文中,我们考虑引入恶意样本之间的关系,在图分类任务中插入有利于提高族可分离性的族表示细化组件,提出了一种Android恶意分析(family-aware graph neuralnetwork,FAGnet)。我们使用4个骨干网在2个基准数据集上进行了扩展实验,并对一些基线方法进行了综合比较。实验验证了FAGnet的有效性,该方法在Drebin数据集上的准确率为98.11%,在CICAndMal2017的类别和家族分类上的准确率分别为83.45%和72.76%。此外,用实际数据对FAGnet进行了评估,在实际场景中保持了令人满意的性能。

1 简介

根据《2021 年迈克菲移动威胁报告》[1],恶意软件总量在 2021 年第三季度首次突破 4 亿,并在第四季度增长更快。新增数量从第三季度的约 150 万猛增至 340 万。尽管某些恶意软件被防火墙阻止,但仍有一些类型可以绕过这些安全措施,从而损害计算机、手机、平板电脑、云和物联网设备等各种设备。随着恶意软件的激增,迫切需要有效且高效的检测和分析方法来建立安全的网络环境,保护用户和公司免受这些威胁。

恶意软件家族分析旨在识别单个恶意软件家族的特征。研究[2,3]表明,Android恶意软件具有明显的家族特征,因为恶意软件创建者通常通过将类似的恶意组件注入不同的流行应用程序来创建恶意软件。换句话说,来自同一家族的恶意软件通常会执行类似的恶意行为。家族分析类似于代码克隆检测[4,5],其目的是找到相似的代码片段。它可以识别同一家族恶意软件样本中的相似恶意组件,使专家能够快速有效地分析恶意样本,以设计更强大的检测机制。一些基于机器学习的方法通常使用支持向量机(SVM)、朴素贝叶斯(Naive Bayes)和随机森林(Random Forest)根据静态分析或动态分析提取的特征进行分类。例如,Drebin [6]从Manifest.xml中提取相关特征,通过静态分析反汇编代码,并将其嵌入到S维向量中,使用SVM进行分类。塔赫里等人。 [7] 通过静态分析从 Manifest.xml 中提取的权限和意图特征来检测恶意软件,并使用动态网络流量和 API 调用特征对恶意软件进行分类,两者都使用随机森林等分类器。然而,受限于这些机器学习算法的性能,研究人员改进并应用了更多新颖的算法到该领域。

近年来,图神经网络(GNN)在众多任务中取得了非常显着的性能提升,例如图卷积神经网络[8](GCN)、GraphSAGE[9]、图注意力网络[10](GAT)和图同构网络网络[11](GIN),它通过消息传递机制聚合有关图节点邻域的信息来分析图的结构特征。因此,许多工作都是基于图神经网络进行恶意软件分析。 GraphSAGE-JK[12]直接使用基于无特征FCG的图神经网络,并应用跳跃知识(JK)技术来解决GNN的过度平滑问题。 DMalNet [13] 使用基于动态 API 调用图的 GNN 模型以及 API 语义信息来进行恶意软件检测和分类。 GDroid [14] 将应用程序和 Android API 映射到一个大型异构图,该图被输入到 GNN 模型中以生成用于分类的信息嵌入。这些作品将恶意软件建模为图形,并使用 GNN 生成图形表示以检测和分类恶意软件。然而,尽管它们很有效,但这些方法仍然存在三个严重的局限性:

限制 1:虽然恶意软件表现出多态恶意行为,但同一家族中的实例通常表现出相似的行为语义。这些共同特征需要特定于恶意软件家族的类似或非常相似的行为模式,并且利用这些相似性可以增强恶意软件家族的分类。为了说明这一点,请考虑图 1,其中 WannaCry 及其变体的实例通过类似的功能表现出类似的恶意行为(例如链接到指定地址、传播网络访问、注册表修改、文件权限调整、文件加密等)来电。利用表现出相同或相似行为语义的样本之间的函数调用模式内的关系可以促进引导图表示学习,从而产生更独特的特征表示。遗憾的是,流行的基于图的方法利用 GNN 模型在图表示生成中独立地处理每个样本图。这些方法仅捕获表示生成过程中各个组件的恶意行为,而忽略组件间的关系。恶意软件创建者故意尝试规避常见的防病毒机制(例如,恶意软件是否链接到特定地址)以及更改恶意行为的实现方式(例如,变体 1 省略链接到指定地址的步骤,变体 2 修改指定地址)地址)不可避免地破坏了仅依赖于单个样本的行为语义的模型的有效性。

限制2:此外,在损失计算中对每个图进行单独处理,完全忽略了不同样本图之间的关系(相似或差异)。根据数据处理不等式(DPI),GNN中每个样本经过节点表示、图表示,然后由下游分类器分类的过程特别漫长。因此,当GNN学习恶意软件的图表示并将其用于家族分类时,模型的有效性受到严重损害,这迫切需要一个优秀的损失函数来限制特征空间中的嵌入。

限制3:消息传播神经网络[15]是图神经网络工作机制的通用框架,采用的策略是邻居聚合。以图2中节点sendTextMessage()为例,为了更新节点的信息,需要聚合其邻居节点的信息。图上的节点特征包含的有价值的信息越多,图神经网络学习到的节点表示就越有价值。因此,我们的源数据(即图表)中的节点需要填充足够强大且有价值的信息。不幸的是,有些工作没有充分利用有价值的信息,例如 GraphSAGE-JK [12],它只是将图中心性规范化为图节点特征,而不是关于敏感 API 的更有价值和相关的信息(例如权限、操作码、参数等)。 )。

考虑到上述限制,本工作考虑在图表示学习过程中引入样本级关系,以提高恶意软件家族的分类准确性。据我们所知,这是第一个在恶意软件分析的基于图表示的学习中引入样本级关系的工作。我们设计了一个家族表示细化组件Family-Aware Refiner(FAR),它考虑了样本之间的关系,将每类家族样本的相同或相似的恶意行为细化为家族特征。在训练过程中根据样本细化每个族的族表示,并将这些族表示添加到每个样本的图表示中以获得更好的可分离性。为了获得更准确的家族表示,提出了家族损失函数,该函数考虑了家族内样本的相似性和家族间样本的变异性,这将同时驱动特征空间中的样本彼此聚集或分散(即相同标签的样本)。样本彼此聚集,不同标签的样本彼此分散)。族损失函数与分类器的分类损失函数一起用于监督图表示学习过程,以获得更好的族可分离性。最后,为了给图上的节点分配更有价值的节点特征,受 MsDroid [16] 的启发,我们将 API 的权限和操作码特征结合起来作为节点信息。

在本文中,FAGnet 的性能使用 Drebin [6] 和 CICAndMal 2017 [17] 数据集进行评估,类别准确率分别为 98.11% 和 83.45%,家庭准确率为 72.76%。同时,对多个基线模型进行比较和评估测试准确性,并进行一系列消融研究以评估每个组件的有效性。

我们的工作贡献如下:
(1)提出了一种基于样本级关系的家庭感知表示细化组件。家庭感知细化组件学习从样本中细化不同家庭的表示,并使用该表示来指导图表示学习过程,以学习更准确的图表示,以实现更高的分析精度。在图神经网络学习到的图表示中加入族表示,将进一步增加原始图与图表示之间的互信息,这无疑会提高模型的性能。
 (2) 构建鲁棒的联合监督损失函数,由基于同一族样本相似性的族损失、基于不同族样本变异性的族损失以及分类阶段的交叉熵损失组成,它共同作用于图表示学习过程以获得更好的族可分离性。
(3)使用4个骨干网络在2个基准数据集上进行实验来验证模型,最终FAGnet在Drebin数据集上达到98.11%的准确率,在CICAndMal2017数据集上达到83.45%(类别)和72.76%(家庭)的准确率。

本文的其余部分组织如下:第 2 节定义了恶意软件家族分类问题并介绍了 FAGnet 的总体框架,第 3 节详细介绍了我们方法的设计方法,第 4 节评估了我们提出的方法的性能,第 5 节介绍了恶意软件和图神经网络的相关工作,第 6 节总结了本文和未来的工作。

2.问题定义和框架概述

2.1.问题定义

恶意软件家族分类是将恶意软件分类到指定的家族中。基于图形的 Android 恶意软件系列分类需要首先将应用程序转换为图形。给定一个应用程序,程序语义被提取到一个函数调用图(图2)中,表示为 G=(V,E) ,其中每个节点代表调用图中的一个API,ARn×n 是节点的邻接矩阵在图中。

图 1:勒索软件 WannaCry 及其变种的工作原理示意图。 WannaCry通过链接到指定地址来控制后续行为,如果成功链接到该地址则直接退出,否则开始加载资源并开始传播。随后,它通过修改注册表获得对所有文件的访问权限,并对所有文件进行加密以勒索用户。变体1删除了链接到指定地址的步骤,而变体2修改了指定地址。

图 2. FakeInstaller 系列的 FCG 示例11

图G的节点集表示为 VG(|VG|=n)e=(ν1,v2)E表示图中从node v1v2的调用关系。 XRn×c表示特征矩阵,每个节点的特征向量维度为c。